package kr.co.mustgo.domain.festival;
//Domain Object - Festival
public class Festival {
	private String festivalCode; //축제 고유 아이디
	private String festivalName; //축제 이름
	private String festivalLocation; //축제 지역,위치
	private String festivalStartDate; //축제 시작일
	private String festivalEndDate; //축제 종료일
	private String festivalCategory; //축제 카테고리
	private String festivalDetailInfo; //축제 상세 정보
	
	//생성자,no-arg생성자, getter, setter, hash, toString
	public Festival(String festivalCode, String festivalName,
			String festivalLocation, String festivalStartDate,
			String festivalEndDate, String festivalCategory,
			String festivalDetailInfo) {
		super();
		this.festivalCode = festivalCode;
		this.festivalName = festivalName;
		this.festivalLocation = festivalLocation;
		this.festivalStartDate = festivalStartDate;
		this.festivalEndDate = festivalEndDate;
		this.festivalCategory = festivalCategory;
		this.festivalDetailInfo = festivalDetailInfo;
	}

	public Festival() {
		super();
	}

	public String getFestivalCode() {
		return festivalCode;
	}

	public void setFestivalCode(String festivalCode) {
		this.festivalCode = festivalCode;
	}

	public String getFestivalName() {
		return festivalName;
	}

	public void setFestivalName(String festivalName) {
		this.festivalName = festivalName;
	}

	public String getFestivalLocation() {
		return festivalLocation;
	}

	public void setFestivalLocation(String festivalLocation) {
		this.festivalLocation = festivalLocation;
	}

	public String getFestivalStartDate() {
		return festivalStartDate;
	}

	public void setFestivalStartDate(String festivalStartDate) {
		this.festivalStartDate = festivalStartDate;
	}

	public String getFestivalEndDate() {
		return festivalEndDate;
	}

	public void setFestivalEndDate(String festivalEndDate) {
		this.festivalEndDate = festivalEndDate;
	}

	public String getFestivalCategory() {
		return festivalCategory;
	}

	public void setFestivalCategory(String festivalCategory) {
		this.festivalCategory = festivalCategory;
	}

	public String getFestivalDetailInfo() {
		return festivalDetailInfo;
	}

	public void setFestivalDetailInfo(String festivalDetailInfo) {
		this.festivalDetailInfo = festivalDetailInfo;
	}

	@Override
	public String toString() {
		return "Festival [festivalCode=" + festivalCode + ", festivalName="
				+ festivalName + ", festivalLocation=" + festivalLocation
				+ ", festivalStartDate=" + festivalStartDate
				+ ", festivalEndDate=" + festivalEndDate
				+ ", festivalCategory=" + festivalCategory
				+ ", festivalDetailInfo=" + festivalDetailInfo + "]";
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime
				* result
				+ ((festivalCategory == null) ? 0 : festivalCategory.hashCode());
		result = prime * result
				+ ((festivalCode == null) ? 0 : festivalCode.hashCode());
		result = prime
				* result
				+ ((festivalDetailInfo == null) ? 0 : festivalDetailInfo
						.hashCode());
		result = prime * result
				+ ((festivalEndDate == null) ? 0 : festivalEndDate.hashCode());
		result = prime
				* result
				+ ((festivalLocation == null) ? 0 : festivalLocation.hashCode());
		result = prime * result
				+ ((festivalName == null) ? 0 : festivalName.hashCode());
		result = prime
				* result
				+ ((festivalStartDate == null) ? 0 : festivalStartDate
						.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Festival other = (Festival) obj;
		if (festivalCategory == null) {
			if (other.festivalCategory != null)
				return false;
		} else if (!festivalCategory.equals(other.festivalCategory))
			return false;
		if (festivalCode == null) {
			if (other.festivalCode != null)
				return false;
		} else if (!festivalCode.equals(other.festivalCode))
			return false;
		if (festivalDetailInfo == null) {
			if (other.festivalDetailInfo != null)
				return false;
		} else if (!festivalDetailInfo.equals(other.festivalDetailInfo))
			return false;
		if (festivalEndDate == null) {
			if (other.festivalEndDate != null)
				return false;
		} else if (!festivalEndDate.equals(other.festivalEndDate))
			return false;
		if (festivalLocation == null) {
			if (other.festivalLocation != null)
				return false;
		} else if (!festivalLocation.equals(other.festivalLocation))
			return false;
		if (festivalName == null) {
			if (other.festivalName != null)
				return false;
		} else if (!festivalName.equals(other.festivalName))
			return false;
		if (festivalStartDate == null) {
			if (other.festivalStartDate != null)
				return false;
		} else if (!festivalStartDate.equals(other.festivalStartDate))
			return false;
		return true;
	}
	
	
	
}
